home *** CD-ROM | disk | FTP | other *** search
/ CD World 1998 January / CD World - Ocak 1998.iso / misc / dbase55 / disk7 / cbtsamp.pak / BUTTONS.CC < prev    next >
C/C++ Source or Header  |  1996-01-05  |  10KB  |  298 lines

  1. ************************************************************************************
  2. *  PROGRAM:      Buttons.cc
  3. *
  4. *  WRITTEN BY:   Borland Samples Group
  5. *
  6. *  DATE:         2/94
  7. *
  8. *  UPDATED:      7/95
  9. *
  10. *  REVISION:     $Revision:   1.70  $
  11. *
  12. *  VERSION:      Visual dBASE
  13. *
  14. *
  15. *  DESCRIPTION:  This is a procedure file containing class definitions for
  16. *                pushbuttons most frequently used in Visual dBASE forms.
  17. *                These buttons contain both bitmaps, which are located in
  18. *                <_dbwinhome>\designer\form\Resource.dll, and text.
  19. *                Current Classes:
  20. *                   OkButton
  21. *                   CloseButton
  22. *                   CancelButton
  23. *                   YesButton
  24. *                   NoButton
  25. *                   NextButton
  26. *                   PrevButton
  27. *                   HelpButton
  28. *                   InfoButton
  29. *                   ToolButton
  30. *                   ReportButton
  31. *                   BrowseButton
  32. *                   SampleInfoButton
  33. *
  34. *  PARAMETERS:   Each custom button control in this file requires 2 arguments:
  35. *                F    -- Object -- Reference to the parent form
  36. *                Name -- String -- Name of the control being created
  37. *                Example:
  38. *                   f = new form()
  39. *                   p = new OkButton(f,"myOkButton")
  40. *
  41. *  CALLS:        None
  42. *
  43. *  USAGE:        set procedure to Buttons.cc additive, then use these classes
  44. *                with:
  45. *
  46. *                NEW syntax:     x = new OkButton(f,"myOkButton"),
  47. *                DEFINE syntax:  define OkButton x of f
  48. *                FORMS DESIGNER: <Select Buttons.cc from the
  49. *                                 "Set Up Custom Controls" dialog, and then
  50. *                                 select the classes you want from the
  51. *                                 "Custom" page of the Controls Palette.>
  52. *
  53. *******************************************************************************
  54. #include <Messdlg.h>
  55.  
  56. *******************************************************************************
  57. *******************************************************************************
  58. class OkButton(f,n) of Pushbutton(f,n) custom
  59. *******************************************************************************
  60.  
  61.    this.height = 1.50
  62.    this.width = 14.11
  63.    this.upbitmap = "Resource #20"
  64.    this.disabledbitmap = "Resource #21"
  65.    this.text = "OK"
  66.    this.statusMessage = "Ok to close form"
  67.    this.speedTip = "Ok to close form"
  68.  
  69. endclass
  70.  
  71. *******************************************************************************
  72. class CloseButton(f,n) of Pushbutton(f,n) custom
  73. *******************************************************************************
  74.  
  75.    this.height = 1.50
  76.    this.width = 14.11
  77.    this.upbitmap = "Resource #1005"
  78.    this.disabledbitmap = "Resource #1006"
  79.    this.text = "C&lose"
  80.    this.OnClick = {;form.Close()}
  81.    this.statusMessage = "Close this form."
  82.    this.speedTip = "Close this form"
  83.  
  84. endclass
  85.  
  86. *******************************************************************************
  87. *******************************************************************************
  88. class CancelButton(f,n) of Pushbutton(f,n) custom
  89. *******************************************************************************
  90.  
  91.    this.height = 1.50
  92.    this.width = 14.11
  93.    this.upbitmap = "Resource #28"
  94.    this.disabledbitmap = "Resource #29"
  95.    this.text = "Cancel"
  96.    this.OnClick = {;form.Close()}
  97.    this.statusMessage = "Cancel this form."
  98.    this.speedTip = "Cancel this form"
  99.  
  100. endclass
  101.  
  102. *******************************************************************************
  103. *******************************************************************************
  104. class HelpButton(f,n) of Pushbutton(f,n) custom
  105. *******************************************************************************
  106.  
  107.    this.height = 1.50
  108.    this.width = 14.11
  109.    this.upbitmap = "Resource #32"
  110.    this.disabledbitmap = "Resource #33"
  111.    this.text = "Help"
  112.    this.speedTip = "Help with current topic"
  113.  
  114. endclass
  115.  
  116. *******************************************************************************
  117. *******************************************************************************
  118. class YesButton(f,n) of Pushbutton(f,n) custom
  119. *******************************************************************************
  120.  
  121.    this.height = 1.50
  122.    this.width = 14.11
  123.    this.upbitmap = "Resource #36"
  124.    this.disabledbitmap = "Resource #37"
  125.    this.text = "&Yes"
  126.    this.speedTip = "Answer Yes"
  127.  
  128. endclass
  129.  
  130.  
  131. *******************************************************************************
  132. *******************************************************************************
  133. class NoButton(f,n) of Pushbutton(f,n) custom
  134. *******************************************************************************
  135.  
  136.    this.height = 1.50
  137.    this.width = 14.11
  138.    this.upbitmap = "Resource #24"
  139.    this.disabledbitmap = "Resource #25"
  140.    this.text = "&No"
  141.    this.speedTip = "Answer No"
  142.  
  143. endclass
  144.  
  145. *******************************************************************************
  146. *******************************************************************************
  147. class NextButton(f,n) of Pushbutton(f,n) custom
  148. *******************************************************************************
  149.  
  150.    this.height = 1.50
  151.    this.width = 14.11
  152.    this.upbitmap = "Resource #100"
  153.    this.text = "&Next"
  154.    this.statusMessage = "Go to next record."
  155.    this.speedTip = "Next Record"
  156.  
  157.    ****************************************************************************
  158.    procedure OnClick
  159.    ****************************************************************************
  160.    if .not. empty(dbf())        && if a table is open in the current workarea
  161.       skip
  162.       if eof()
  163.          go bottom
  164.          AlertMessage("At the last record","Alert")
  165.       endif
  166.    else
  167.       InformationMessage("There is no table open in the current workarea.",;
  168.          "Info")
  169.    endif
  170. endclass
  171.  
  172. *******************************************************************************
  173. *******************************************************************************
  174. class PrevButton(f,n) of Pushbutton(f,n) custom
  175. *******************************************************************************
  176.  
  177.    this.height = 1.50
  178.    this.width = 14.11
  179.    this.upbitmap = "Resource #104"
  180.    this.text = "&Previous"
  181.    this.statusMessage = "Go to previous record."
  182.    this.speedTip = "Previous Record"
  183.  
  184.    ****************************************************************************
  185.    procedure OnClick
  186.    ****************************************************************************
  187.    if .not. empty(dbf())        && if a table is open in the current workarea
  188.       skip - 1
  189.       if bof()
  190.          go top
  191.          AlertMessage("At the first record","Alert")
  192.       endif
  193.    else
  194.       InformationMessage("There is no table open in the current workarea.",;
  195.          "Info")
  196.    endif
  197.  
  198. endclass
  199.  
  200.  
  201. *******************************************************************************
  202. *******************************************************************************
  203. class InfoButton(f,n) of Pushbutton(f,n) custom
  204. *******************************************************************************
  205.  
  206.    this.height = 1.50
  207.    this.width = 14.11
  208.    this.upbitmap = "Resource #112"
  209.    this.text = "&Info"
  210.    this.speedTip = "View Information"
  211.  
  212. endclass
  213.  
  214. *******************************************************************************
  215. *******************************************************************************
  216. class ToolButton(f,n) of Pushbutton(f,n) custom
  217. *******************************************************************************
  218.  
  219.    this.height = 1.50
  220.    this.width = 4
  221.    this.upbitmap = "Resource #144"
  222.    this.text = ""
  223.    this.tabstop = .f.
  224.    this.speedTip = "Tool"
  225.  
  226. endclass
  227.  
  228. *******************************************************************************
  229. *******************************************************************************
  230. class ReportButton(f,n) of Pushbutton(f,n) custom
  231. *******************************************************************************
  232.  
  233.    this.upBitmap = "RESOURCE #614"
  234.    this.text = "Report"
  235.    this.height = 1.50
  236.    this.width = 14.11
  237.    this.speedTip = "Show Report"
  238.  
  239.    ****************************************************************************
  240.    procedure OnClick
  241.    ****************************************************************************
  242.    report form ?
  243.  
  244. endclass
  245.  
  246. *******************************************************************************
  247. *******************************************************************************
  248. class BrowseButton(f,n) of PushButton(f,n) custom
  249. *******************************************************************************
  250.  
  251.    this.upBitmap = "RESOURCE #610"
  252.    this.text = "Browse"
  253.    this.height = 1.50
  254.    this.width = 14.11
  255.    this.speedTip = "Browse Data"
  256.  
  257.    ****************************************************************************
  258.    procedure OnClick
  259.    ****************************************************************************
  260.    browse nowait
  261.  
  262. endclass
  263.  
  264.  
  265. *******************************************************************************
  266. *******************************************************************************
  267. class SampleInfoButton(f,n) of Pushbutton(f,n) custom
  268.  
  269. * Button for displaying information about the currently running sample.
  270. * This button instantiates a SampInfoForm object, defined in Sampproc.prg.
  271. *******************************************************************************
  272.  
  273.    this.height = 1.2
  274.    this.width = 3.5
  275.    this.upbitmap = "Resource #112"
  276.    this.text = ""
  277.    this.speedBar = .T.
  278.    this.speedTip = "Sample Information"
  279.    this.pageNo = 0
  280.  
  281.    * Custom Property
  282.    this.sampleName = ""
  283.  
  284.  
  285.    ****************************************************************************
  286.    procedure OnClick
  287.    ****************************************************************************
  288.    local f
  289.  
  290.    set procedure to &_dbwinhome.samples\Sampproc.prg additive
  291.    f = new SampInfoForm(this.sampleName)
  292.    if .not. empty(f.fileName)   && Information about the sample exists
  293.       f.ReadModal()
  294.    endif
  295.    close procedure &_dbwinhome.samples\Sampproc.prg
  296.  
  297. endclass
  298.